# @author : sentry
# @since : 2023-09-12
# 深入理解递归函数

"""
什么是递归函数？
递归函数就是一个函数在它的函数体内调用它自身。执行递归函数将反复调用其自身，每调用一次就进入新的一层。
递归函数必须有结束条件。

设计递归函数三要素：
1、明确你这个函数想要干什么
2、寻找递归结束条件
3、找出函数的等价关系式
"""


def p(n):
    if n == 0:
        return
    print('递归前->', n)
    p(n - 1)
    print('递归后->', n)


p(5)
# 递归前-> 5
# 递归前-> 4
# 递归前-> 3
# 递归前-> 2
# 递归前-> 1
# 递归后-> 1
# 递归后-> 2
# 递归后-> 3
# 递归后-> 4
# 递归后-> 5
